+*.a
+*.o
+*.swp
+.ninja_deps
+.ninja_log
+.qmake.cache
+.qmake.stash
+.qt
+/*.gcda
+/*.gcno
+/*.gcov
+/.vs/
+/.vscode/
+/GPSBabel
+/GPSBabel[0-9]*.[0-9]*.[0-9]*.tar.bz2
+/GPSBabel[0-9]*.[0-9]*.[0-9]*/
+/Makefile
+/autogen/
/autom4te.cache/
/babelweb/
/bld/
/config.status
/cscope.out
/debug/
+/empty
+/gbversion.h
/gpsbabel
/gpsbabel-debug
/gpsbabel.exe
/gpsbabel.fo
+/gpsbabel.gch/
/gpsbabel.html
/gpsbabel.pdf
+/gpsbabel.rc
/gpsbabel_autogen/
/gpsbabel_coverage.xml
-/Makefile
-.qmake.cache
-.qmake.stash
-/GPSBabel
-/*.gcda
-/*.gcno
-/*.gcov
-*.o
-*.a
-.ninja_deps
-.ninja_log
-.qt
-build.ninja
-rules.ninja
-cmake_install.cmake
-CMakeCache.txt
-CMakeFiles/
-CTestTestfile.cmake
-/GPSBabel[0-9]*.[0-9]*.[0-9]*/
-/GPSBabel[0-9]*.[0-9]*.[0-9]*.tar.bz2
+/makedoc
/makelinuxdist.sh
+/mkcapabilities
/objects/
+/out/
+/qrc_gpsbabel.cpp
/release/
-*.swp
/tmp/
-/mkcapabilities
-/gpsbabel.gch/
-/gpsbabel.rc
-/autogen/
-/makedoc
-/empty
-/gbversion.h
-/qrc_gpsbabel.cpp
-/.vscode/
+CMakeCache.txt
+CMakeFiles/
+CTestTestfile.cmake
Testing
+build.ninja
+cmake_install.cmake
+rules.ninja
// Return data value interpreted as EXIF_TYPE_LONG.
// This is most useful when the type is EXIF_TYPE_LONG and the count is one,
// which occurs for multiple specific tags where we need the value.
- inline uint32_t toLong() const
+ uint32_t toLong() const
{
return data.at(0).value<uint32_t>();
}
}
}
-static int lap_read_nop_cb(int, struct GPS_SWay**)
+static int lap_read_nop_cb(int, GPS_SWay**)
{
return 0;
}
extern WaypointList* global_waypoint_list;
int icon;
- tx_waylist = (struct GPS_SWay**) xcalloc(n,sizeof(*tx_waylist));
+ tx_waylist = (GPS_SWay**) xcalloc(n,sizeof(*tx_waylist));
for (i = 0; i < n; i++) {
tx_waylist[i] = sane_GPS_Way_New();
{
int n = 2 * route_waypt_count(); /* Doubled for the islink crap. */
- tx_routelist = (struct GPS_SWay**) xcalloc(n,sizeof(GPS_PWay));
+ tx_routelist = (GPS_SWay**) xcalloc(n,sizeof(GPS_PWay));
cur_tx_routelist_entry = tx_routelist;
for (int i = 0; i < n; i++) {
{
int32 n = track_waypt_count() + track_count();
- tx_tracklist = (struct GPS_STrack**) xcalloc(n, sizeof(GPS_PTrack));
+ tx_tracklist = (GPS_STrack**) xcalloc(n, sizeof(GPS_PTrack));
cur_tx_tracklist_entry = tx_tracklist;
for (int i = 0; i < n; i++) {
tx_tracklist[i] = GPS_Track_New();
static bool compare_wpt_cb(const Waypoint* a, const Waypoint* b);
static char compare_strings(const QString& s1, const QString& s2);
static writer_data_t* wdata_alloc();
- static void wdata_free(GarminGPIFormat::writer_data_t* data);
- static void wdata_add_wpt(GarminGPIFormat::writer_data_t* data, Waypoint* wpt);
- void wdata_check(GarminGPIFormat::writer_data_t* data) const;
- int wdata_compute_size(GarminGPIFormat::writer_data_t* data) const;
- void wdata_write(const GarminGPIFormat::writer_data_t* data) const;
+ static void wdata_free(writer_data_t* data);
+ static void wdata_add_wpt(writer_data_t* data, Waypoint* wpt);
+ void wdata_check(writer_data_t* data) const;
+ int wdata_compute_size(writer_data_t* data) const;
+ void wdata_write(const writer_data_t* data) const;
void write_category(const char* unused, const unsigned char* image, int image_sz) const;
void write_header() const;
void enum_waypt_cb(const Waypoint* ref) const;
static constexpr char kDefaultDateFormat[] = "dd/mm/yyyy";
static constexpr char kDefaultTimeFormat[] = "HH:mm:ss";
-static inline bool is_valid_alt(double alt)
+static bool is_valid_alt(double alt)
{
return (alt != unknown_alt) && (alt < kGarminUnknownAlt);
}
"AUGUST", "SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER"
};
-static inline void takeout_fatal(const QString& message) {
+static void takeout_fatal(const QString& message) {
fatal(FatalMsg() << MYNAME << ": " << message);
}
-static inline void takeout_warning(const QString& message) {
+static void takeout_warning(const QString& message) {
Warning() << MYNAME << ": " << message;
}
int len = end - begin + 1;
QString name = extension_definition.mid(4,3);
igc_ext_type_t ext = get_ext_type(ext_type);
- if (ext != IgcFormat::igc_ext_type_t::ext_rec_unknown) {
+ if (ext != igc_ext_type_t::ext_rec_unknown) {
int factor = get_ext_factor(ext);
ext_types_list.append(std::make_tuple(name, ext, begin, len, factor));
supported_extensions.append(name);
rec_bad = 1, // Bad record
};
- const QHash<QString, IgcFormat::igc_ext_type_t> igc_extension_map{
- {"ENL", IgcFormat::igc_ext_type_t::ext_rec_enl},
- {"TAS", IgcFormat::igc_ext_type_t::ext_rec_tas},
- {"VAT", IgcFormat::igc_ext_type_t::ext_rec_vat},
- {"OAT", IgcFormat::igc_ext_type_t::ext_rec_oat},
- {"TRT", IgcFormat::igc_ext_type_t::ext_rec_trt},
- {"GSP", IgcFormat::igc_ext_type_t::ext_rec_gsp},
- {"FXA", IgcFormat::igc_ext_type_t::ext_rec_fxa},
- {"SIU", IgcFormat::igc_ext_type_t::ext_rec_siu},
- {"ACZ", IgcFormat::igc_ext_type_t::ext_rec_acz},
- {"GFO", IgcFormat::igc_ext_type_t::ext_rec_gfo},
+ const QHash<QString, igc_ext_type_t> igc_extension_map{
+ {"ENL", igc_ext_type_t::ext_rec_enl},
+ {"TAS", igc_ext_type_t::ext_rec_tas},
+ {"VAT", igc_ext_type_t::ext_rec_vat},
+ {"OAT", igc_ext_type_t::ext_rec_oat},
+ {"TRT", igc_ext_type_t::ext_rec_trt},
+ {"GSP", igc_ext_type_t::ext_rec_gsp},
+ {"FXA", igc_ext_type_t::ext_rec_fxa},
+ {"SIU", igc_ext_type_t::ext_rec_siu},
+ {"ACZ", igc_ext_type_t::ext_rec_acz},
+ {"GFO", igc_ext_type_t::ext_rec_gfo},
};
// Will return zero if no match
* A factor can never be zero, so this looks good to me.
* Be careful.
*/
- int get_ext_factor(IgcFormat::igc_ext_type_t type) const
+ int get_ext_factor(igc_ext_type_t type) const
{
int ret = 0;
switch (type) {
- case IgcFormat::igc_ext_type_t::ext_rec_enl:
+ case igc_ext_type_t::ext_rec_enl:
ret = 1;
break;
- case IgcFormat::igc_ext_type_t::ext_rec_tas:
+ case igc_ext_type_t::ext_rec_tas:
ret = 100;
break;
- case IgcFormat::igc_ext_type_t::ext_rec_vat:
+ case igc_ext_type_t::ext_rec_vat:
ret = 10;
break;
- case IgcFormat::igc_ext_type_t::ext_rec_oat:
+ case igc_ext_type_t::ext_rec_oat:
ret = 10;
break;
- case IgcFormat::igc_ext_type_t::ext_rec_trt:
+ case igc_ext_type_t::ext_rec_trt:
ret = 1;
break;
- case IgcFormat::igc_ext_type_t::ext_rec_gsp:
+ case igc_ext_type_t::ext_rec_gsp:
ret = 100;
break;
- case IgcFormat::igc_ext_type_t::ext_rec_fxa:
+ case igc_ext_type_t::ext_rec_fxa:
ret = 1;
break;
- case IgcFormat::igc_ext_type_t::ext_rec_siu:
+ case igc_ext_type_t::ext_rec_siu:
ret = 1;
break;
- case IgcFormat::igc_ext_type_t::ext_rec_acz:
+ case igc_ext_type_t::ext_rec_acz:
ret = 10;
break;
- case IgcFormat::igc_ext_type_t::ext_rec_gfo:
+ case igc_ext_type_t::ext_rec_gfo:
ret = 1;
break;
default:
} GPS_OCourse_Limits, *GPS_PCourse_Limits;
-typedef int (*pcb_fn)(int, struct GPS_SWay**);
+typedef int (*pcb_fn)(int, GPS_SWay**);
#include "jeeps/gpsdevice.h"
#include "jeeps/gpssend.h"
extern int gps_is_usb;
extern int gps_baud_rate;
-extern struct COMMANDDATA COMMAND_ID[2];
-extern struct LINKDATA LINK_ID[3];
-extern struct GPS_MODEL_PROTOCOL GPS_MP[];
+extern COMMANDDATA COMMAND_ID[2];
+extern LINKDATA LINK_ID[3];
+extern GPS_MODEL_PROTOCOL GPS_MP[];
extern const char* gps_marine_sym[];
extern const char* gps_land_sym[];
trkpt->distance_populated = 0;
trkpt->heartrate = 0;
trkpt->cadence = 0xff;
- *trk = (struct GPS_STrack**) xrealloc(*trk, (*n+1) * sizeof(GPS_PTrack));
+ *trk = (GPS_STrack**) xrealloc(*trk, (*n+1) * sizeof(GPS_PTrack));
memmove(&(*trk)[i+1], &(*trk)[i], (*n-i) * sizeof(GPS_PTrack));
(*trk)[i] = trkpt;
i++;
** @return [int32] success
************************************************************************/
-int32 GPS_Command_Send_Waypoint(const char* port, GPS_PWay* way, int32 n, int (*cb)(struct GPS_SWay**))
+int32 GPS_Command_Send_Waypoint(const char* port, GPS_PWay* way, int32 n, int (*cb)(GPS_SWay**))
{
int32 ret=0;
}
/* Create & append course */
- crs = (struct GPS_SCourse**)xrealloc(crs, (n_crs+1) * sizeof(GPS_PCourse));
+ crs = (GPS_SCourse**)xrealloc(crs, (n_crs+1) * sizeof(GPS_PCourse));
crs[n_crs] = GPS_Course_New();
if (!crs[n_crs]) {
if (clp) xfree(clp);
crs[n_crs]->track_index = Unique_Track_Index(crs, n_crs);
/* Create & append new lap */
- clp = (struct GPS_SCourse_Lap**) xrealloc(clp, (n_clp+1) * sizeof(GPS_PCourse_Lap));
+ clp = (GPS_SCourse_Lap**) xrealloc(clp, (n_clp+1) * sizeof(GPS_PCourse_Lap));
clp[n_clp] = GPS_Course_Lap_New();
if (!clp[n_clp]) {
if (clp) xfree(clp);
}
/* Append new track points */
- ctk = (struct GPS_STrack**) xrealloc(ctk, (n_ctk+n_trk) * sizeof(GPS_PTrack));
+ ctk = (GPS_STrack**) xrealloc(ctk, (n_ctk+n_trk) * sizeof(GPS_PTrack));
first_new_ctk = n_ctk;
for (i=0; i<n_trk; i++) {
if (trk[i]->ishdr && (i>=n_trk || trk[i+1]->ishdr)) {
/* Convert waypoints to course points by searching closest track point &
* append
*/
- cpt = (struct GPS_SCourse_Point**) xrealloc(cpt, (n_cpt+n_wpt) * sizeof(GPS_PCourse_Point));
+ cpt = (GPS_SCourse_Point**) xrealloc(cpt, (n_cpt+n_wpt) * sizeof(GPS_PCourse_Point));
for (i=0; i<n_wpt; i++) {
double dist, min_dist = DBL_MAX;
uint32 min_dist_idx = 0, trk_idx = 0, min_dist_trk_idx = 0;
}
/*Stubs for unimplemented stuff*/
-int32 GPS_Command_Get_Workout(const char* /* port */, void** /* lap */, int (* /* cb */)(int, struct GPS_SWay**))
+int32 GPS_Command_Get_Workout(const char* /* port */, void** /* lap */, int (* /* cb */)(int, GPS_SWay**))
{
return 0;
}
-int32 GPS_Command_Get_Fitness_User_Profile(const char* /* port */, void** /* lap */, int (* /* cb */)(int, struct GPS_SWay**))
+int32 GPS_Command_Get_Fitness_User_Profile(const char* /* port */, void** /* lap */, int (* /* cb */)(int, GPS_SWay**))
{
return 0;
}
-int32 GPS_Command_Get_Workout_Limits(const char* /* port */, void** /* lap */, int (* /* cb */)(int, struct GPS_SWay**))
+int32 GPS_Command_Get_Workout_Limits(const char* /* port */, void** /* lap */, int (* /* cb */)(int, GPS_SWay**))
{
return 0;
}
-int32 GPS_Command_Get_Course_Limits(const char* /* port */, void** /* lap */, int (* /* cb */)(int, struct GPS_SWay**))
+int32 GPS_Command_Get_Course_Limits(const char* /* port */, void** /* lap */, int (* /* cb */)(int, GPS_SWay**))
{
return 0;
}
int32 GPS_Command_Get_Almanac(const char* port, GPS_PAlmanac** alm);
int32 GPS_Command_Send_Almanac(const char* port, GPS_PAlmanac* alm, int32 n);
- int32 GPS_Command_Get_Track(const char* port, GPS_PTrack** trk, int (*cb)(int, struct GPS_SWay**));
+ int32 GPS_Command_Get_Track(const char* port, GPS_PTrack** trk, int (*cb)(int, GPS_SWay**));
int32 GPS_Command_Send_Track(const char* port, GPS_PTrack* trk, int32 n, int eraset);
- int32 GPS_Command_Get_Waypoint(const char* port, GPS_PWay** way,int (*cb)(int, struct GPS_SWay**));
- int32 GPS_Command_Send_Waypoint(const char* port, GPS_PWay* way, int32 n, int (*cb)(struct GPS_SWay**));
+ int32 GPS_Command_Get_Waypoint(const char* port, GPS_PWay** way,int (*cb)(int, GPS_SWay**));
+ int32 GPS_Command_Send_Waypoint(const char* port, GPS_PWay* way, int32 n, int (*cb)(GPS_SWay**));
int32 GPS_Command_Get_Proximity(const char* port, GPS_PWay** way);
int32 GPS_Command_Send_Proximity(const char* port, GPS_PWay* way, int32 n);
int32 GPS_Command_Get_Route(const char* port, GPS_PWay** way);
int32 GPS_Command_Send_Route(const char* port, GPS_PWay* way, int32 n);
- int32 GPS_Command_Get_Lap(const char* port, GPS_PLap** lap, int (*cb)(int, struct GPS_SWay**));
+ int32 GPS_Command_Get_Lap(const char* port, GPS_PLap** lap, int (*cb)(int, GPS_SWay**));
int32 GPS_Command_Send_Course(const char* port, GPS_PCourse* crs, GPS_PCourse_Lap* clp,
GPS_PTrack* trk, GPS_PCourse_Point* cpt,
int32 GPS_Command_Send_Track_As_Course(const char* port, GPS_PTrack* trk, int32 n_trk,
GPS_PWay* wpt, int32 n_wpt, int eraset);
- int32 GPS_Command_Get_Workout(const char* port, void** lap, int (*cb)(int, struct GPS_SWay**));
- int32 GPS_Command_Get_Fitness_User_Profile(const char* port, void** lap, int (*cb)(int, struct GPS_SWay**));
- int32 GPS_Command_Get_Workout_Limits(const char* port, void** lap, int (*cb)(int, struct GPS_SWay**));
- int32 GPS_Command_Get_Course_Limits(const char* port, void** lap, int (*cb)(int, struct GPS_SWay**));
+ int32 GPS_Command_Get_Workout(const char* port, void** lap, int (*cb)(int, GPS_SWay**));
+ int32 GPS_Command_Get_Fitness_User_Profile(const char* port, void** lap, int (*cb)(int, GPS_SWay**));
+ int32 GPS_Command_Get_Workout_Limits(const char* port, void** lap, int (*cb)(int, GPS_SWay**));
+ int32 GPS_Command_Get_Course_Limits(const char* port, void** lap, int (*cb)(int, GPS_SWay**));
#endif
static int32 gps_n_tag_unknown = 0;
-
-struct COMMANDDATA COMMAND_ID[2]= {
+COMMANDDATA COMMAND_ID[2]= {
/* Device Command Protocol 1 (A010) */
{
0,1,2,3,4,5,6,7,8,49,50,92,117,121,450,451,452,453,454,561,562,563,564,565
}
};
-struct LINKDATA LINK_ID[3]= {
+LINKDATA LINK_ID[3]= {
/* Basic Link Protocol (L000) */
{
253,254,255,248,
}
};
-struct GPS_MODEL_PROTOCOL GPS_MP[]= {
+GPS_MODEL_PROTOCOL GPS_MP[]= {
{
7,pL001,pA010,pA100,pD100,pA200,pD200,-1,-1,-1,-1,-1,
pA500,pD500
/* Provided by the common code. */
void gusb_syncup();
-void gusb_register_ll(struct gusb_llops*);
+void gusb_register_ll(gusb_llops*);
void gusb_list_units();
/* Provided by the OS layers */
static const QByteArray vowels;
static constexpr int default_target_len = 8;
- static constexpr const char default_badchars[] = "\"$.,'!-";
+ static constexpr char default_badchars[] = "\"$.,'!-";
static const QVector<replacement_t> replacements;
/* Member Functions */
short rcr;
unsigned short timestamp_ms;
double distance;
- struct sat_info sat_data[32];
+ sat_info sat_data[32];
};
struct mtk_loginfo {
static char* OPT_log_enable; /* enable ? command option */
static char* csv_file; /* csv ? command option */
static char* OPT_block_size_kb; /* block_size_kb ? command option */
-static enum MTK_DEVICE_TYPE mtk_device = MTK_LOGGER;
+static MTK_DEVICE_TYPE mtk_device = MTK_LOGGER;
-static struct mtk_loginfo mtk_info;
+static mtk_loginfo mtk_info;
const char LIVE_CHAR[4] = {'-', '\\','|','/'};
static route_head* trk_head = nullptr;
-static int add_trackpoint(int idx, unsigned long bmask, struct data_item* itm)
+static int add_trackpoint(int idx, unsigned long bmask, data_item* itm)
{
auto* trk = new Waypoint;
}
/* Output a single data line in MTK application compatible format - i.e ignore any locale settings... */
-static int csv_line(gbfile* csvFile, int idx, unsigned long bmask, struct data_item* itm)
+static int csv_line(gbfile* csvFile, int idx, unsigned long bmask, data_item* itm)
{
const char* fix_str = "";
if (bmask & (1U<<VALID)) {
int sat_id;
int hspd;
unsigned char hbuf[4];
- struct data_item itm;
+ data_item itm;
dbg(5,"Entering mtk_parse, count = %i, dataLen = %i\n", count, dataLen);
if (global_opts.debug_level > 5) {
}
void
-SkytraqBase::state_init(struct read_state* pst)
+SkytraqBase::state_init(read_state* pst)
{
auto* track = new route_head;
track->rte_name = "SkyTraq tracklog";
}
Waypoint*
-SkytraqBase::make_trackpoint(struct read_state* st, double lat, double lon, double alt) const
+SkytraqBase::make_trackpoint(read_state* st, double lat, double lon, double alt) const
{
auto* wpt = new Waypoint;
#define ITEM_SPEED(item) (item->type_and_speed[1] | ((item->type_and_speed[0] & 0x0F) << 8))
int
-SkytraqBase::process_data_item(struct read_state* pst, const item_frame* pitem, int len) const
+SkytraqBase::process_data_item(read_state* pst, const item_frame* pitem, int len) const
{
int res = 0;
double lat;
}
int /* returns number of bytes processed (terminates on 0xFF i.e. empty or padding bytes) */
-SkytraqBase::process_data_sector(struct read_state* pst, const uint8_t* buf, int len) const
+SkytraqBase::process_data_sector(read_state* pst, const uint8_t* buf, int len) const
{
int plen, ilen;
void
SkytraqBase::skytraq_read_tracks() const
{
- struct read_state st;
+ read_state st;
uint32_t log_wr_ptr;
uint16_t sectors_free, sectors_total, /*sectors_used_a, sectors_used_b,*/ sectors_used;
int t, rc, got_sectors, total_sectors_read = 0;
void
SkytraqfileFormat::read()
{
- struct read_state st;
+ read_state st;
int got_bytes;
int opt_first_sector_val = xstrtoi(opt_first_sector, nullptr, 10);
int opt_last_sector_val = xstrtoi(opt_last_sector, nullptr, 10);
1717**,T,090204,062634,31.765528N,035.207730E,772**,0***,0**,2D,SPS ,2.1**,1.9**,1.0**,*********
*/
struct one_line_advanced_mode {
- struct one_line_common_start common;
+ one_line_common_start common;
char fixmode[2]; /* "2D" or "3D" */
char comma10; /* ',' */
char valid[4]; /* "SPS " or "DGPS" */
1*****,T,090404,063401,31.765931N,035.206969E,821**,0***,0**,*********
*/
struct one_line_basic_mode {
- struct one_line_common_start common;
+ one_line_common_start common;
char vox[9]; /* voicetag recorded */
char cr; /* '\r' */
char lf; /* '\n' */
{
/* use line buffer large enough to hold either basic or advanced mode lines. */
union {
- struct one_line_basic_mode bas;
- struct one_line_advanced_mode adv;
+ one_line_basic_mode bas;
+ one_line_advanced_mode adv;
char text[200]; /* used to read the header line, which is normal text */
} line;
int lc = 0;